<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.9.1"/>
<title>OCILIB (C and C++ Driver for Oracle): PL/SQL Support</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">OCILIB (C and C++ Driver for Oracle)
   &#160;<span id="projectnumber">4.2.1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>About</span></a></li>
      <li><a href="modules.html"><span>Documentation</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group___ocilib_c_api_pl_sql.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">PL/SQL Support<div class="ingroups"><a class="el" href="group___ocilib_c_api.html">C API</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>OCILIB has a strong PL/SQL support :</p>
<ul>
<li>Blocks, procedures and function can be used with OCILIB statements.</li>
<li>Ref cursors</li>
<li>Nested tables</li>
<li>Tables (indexed by integer types)</li>
<li>Access to the server side output generated by the DBMS_OUTPUT package</li>
</ul>
<p>Stored procedures/functions calls, blocks declarations are done like regular SQL calls using <a class="el" href="group___ocilib_c_api_statements.html#ga592e4b3cf3df7e152c46fab5d6e3b3af" title="Prepare a SQL statement or PL/SQL block. ">OCI_Prepare()</a>, <a class="el" href="group___ocilib_c_api_statements.html#ga7189aa353845909aaedc8d5956429450" title="Execute a prepared SQL statement or PL/SQL block. ">OCI_Execute()</a>, <a class="el" href="group___ocilib_c_api_statements.html#ga8b2b66994f847d9f0b6b0efe4a13ccf3" title="Prepare and Execute a SQL statement or PL/SQL block. ">OCI_ExecuteStmt()</a> and <a class="el" href="group___ocilib_c_api_formatting.html#gac8346cd7d4c86cd2c57175bfd77094a9" title="Execute a formatted SQL statement or PL/SQL block. ">OCI_ExecuteStmtFmt()</a> functions.</p>
<p>All PL/SQL statements must:</p>
<ul>
<li>start with a 'begin' or 'declare' keyword</li>
<li>end with a 'end;' keyword</li>
</ul>
<p>Binding Host arrays to PL/SQL tables is done with OCI_BindArrayXXX() calls</p>
<dl class="section user"><dt>Using a PL/SQL block with OCILIB</dt><dd><div class="fragment"><div class="line"><span class="preprocessor">#include &quot;ocilib.h&quot;</span></div>
<div class="line"></div>
<div class="line"><span class="keywordtype">int</span> main(<span class="keywordtype">void</span>)</div>
<div class="line">{</div>
<div class="line">    <a class="code" href="group___ocilib_c_api_datatypes.html#ga2135d3b5341ebbaae1f54d62873ecf77">OCI_Connection</a> *cn;</div>
<div class="line">    <a class="code" href="group___ocilib_c_api_datatypes.html#ga4b016f1bd7de508b1a919e34b12aa83d">OCI_Statement</a>  *st;</div>
<div class="line">    <span class="keywordtype">int</span> res = 0;</div>
<div class="line"></div>
<div class="line">    <span class="keywordflow">if</span> (!<a class="code" href="group___ocilib_c_api_initialization.html#ga01464863ddd68393106b63fb8cc1ead1">OCI_Initialize</a>(NULL, NULL, OCI_ENV_DEFAULT))</div>
<div class="line">        <span class="keywordflow">return</span> EXIT_FAILURE;</div>
<div class="line"></div>
<div class="line">    cn = <a class="code" href="group___ocilib_c_api_connections.html#ga5cd867ad94bdc4a3bbfdef24452262e0">OCI_ConnectionCreate</a>(<span class="stringliteral">&quot;db&quot;</span>, <span class="stringliteral">&quot;usr&quot;</span>, <span class="stringliteral">&quot;pwd&quot;</span>, OCI_SESSION_DEFAULT);</div>
<div class="line">    st = <a class="code" href="group___ocilib_c_api_statements.html#ga335822f983af0fb5c529431f06a9a17b">OCI_StatementCreate</a>(cn);</div>
<div class="line"></div>
<div class="line">    <span class="comment">/* pl/sql call */</span></div>
<div class="line"></div>
<div class="line">    <a class="code" href="group___ocilib_c_api_statements.html#ga592e4b3cf3df7e152c46fab5d6e3b3af">OCI_Prepare</a>(st, <span class="stringliteral">&quot;begin :res := trunc(sysdate+1)-trunc(sysdate-1); end;&quot;</span>);</div>
<div class="line">    <a class="code" href="group___ocilib_c_api_binding.html#gab0be696e4216d8573dd75ed29b4979e3">OCI_BindInt</a>(st, <span class="stringliteral">&quot;:res&quot;</span>, &amp;res);</div>
<div class="line">    <a class="code" href="group___ocilib_c_api_statements.html#ga7189aa353845909aaedc8d5956429450">OCI_Execute</a>(st);</div>
<div class="line"></div>
<div class="line">    printf(<span class="stringliteral">&quot;result : %i\n&quot;</span>, res);</div>
<div class="line"> </div>
<div class="line">    <a class="code" href="group___ocilib_c_api_initialization.html#ga639706aa8e9689c7ebffc018fac6d3ae">OCI_Cleanup</a>();</div>
<div class="line"></div>
<div class="line">    <span class="keywordflow">return</span> EXIT_SUCCESS;</div>
<div class="line">}</div>
</div><!-- fragment --></dd></dl>
<dl class="section user"><dt>Binding host arrays to PL/SQL tables parameters of a stored procedure</dt><dd><div class="fragment"><div class="line"><span class="preprocessor">#include &quot;ocilib.h&quot;</span></div>
<div class="line"></div>
<div class="line"><span class="preprocessor">#define SIZE_ARRAY 10</span></div>
<div class="line"><span class="preprocessor">#define SIZE_NAME  20</span></div>
<div class="line"><span class="preprocessor">#define SIZE_VALUE 100</span></div>
<div class="line"></div>
<div class="line"><span class="keywordtype">int</span> main(<span class="keywordtype">void</span>)</div>
<div class="line">{</div>
<div class="line">   <a class="code" href="group___ocilib_c_api_datatypes.html#ga2135d3b5341ebbaae1f54d62873ecf77">OCI_Connection</a> *cn;</div>
<div class="line">   <a class="code" href="group___ocilib_c_api_datatypes.html#ga4b016f1bd7de508b1a919e34b12aa83d">OCI_Statement</a> *st;</div>
<div class="line">   <span class="keywordtype">int</span> i;</div>
<div class="line"></div>
<div class="line">   <span class="keywordtype">char</span> tab_names [SIZE_ARRAY][SIZE_NAME  + 1];</div>
<div class="line">   <span class="keywordtype">char</span> tab_values[SIZE_ARRAY][SIZE_VALUE + 1];</div>
<div class="line"></div>
<div class="line">   <span class="keywordflow">if</span> (!<a class="code" href="group___ocilib_c_api_initialization.html#ga01464863ddd68393106b63fb8cc1ead1">OCI_Initialize</a>(NULL, NULL, OCI_ENV_DEFAULT))</div>
<div class="line">       <span class="keywordflow">return</span> EXIT_FAILURE;</div>
<div class="line"></div>
<div class="line">   cn = <a class="code" href="group___ocilib_c_api_connections.html#ga5cd867ad94bdc4a3bbfdef24452262e0">OCI_ConnectionCreate</a>(<span class="stringliteral">&quot;db&quot;</span>, <span class="stringliteral">&quot;usr&quot;</span>, <span class="stringliteral">&quot;pwd&quot;</span>, OCI_SESSION_DEFAULT);</div>
<div class="line">   st = <a class="code" href="group___ocilib_c_api_statements.html#ga335822f983af0fb5c529431f06a9a17b">OCI_StatementCreate</a>(cn);</div>
<div class="line"></div>
<div class="line">   <span class="comment">/* set values */</span></div>
<div class="line"></div>
<div class="line">   <span class="keywordflow">for</span> (i = 0; i &lt; SIZE_ARRAY; i++)</div>
<div class="line">   {</div>
<div class="line">       sprintf(tab_names[i],  <span class="stringliteral">&quot;name  %03d&quot;</span>, i+1); </div>
<div class="line">       sprintf(tab_values[i], <span class="stringliteral">&quot;value %03d&quot;</span>, i+1); </div>
<div class="line">   }</div>
<div class="line"></div>
<div class="line">   <span class="comment">/* prepare call and bind local arrays */</span></div>
<div class="line"></div>
<div class="line">   <a class="code" href="group___ocilib_c_api_statements.html#ga592e4b3cf3df7e152c46fab5d6e3b3af">OCI_Prepare</a>(st, <span class="stringliteral">&quot;BEGIN test.test(:tab_names, :tab_values); END;&quot;</span>);</div>
<div class="line">   <a class="code" href="group___ocilib_c_api_binding.html#gaeabab17fc82ffa1e7248dce8f0152322">OCI_BindArrayOfStrings</a>(st, <span class="stringliteral">&quot;:tab_names&quot;</span>,  (<span class="keywordtype">char</span>*) tab_names,  SIZE_NAME , SIZE_ARRAY);</div>
<div class="line">   <a class="code" href="group___ocilib_c_api_binding.html#gaeabab17fc82ffa1e7248dce8f0152322">OCI_BindArrayOfStrings</a>(st, <span class="stringliteral">&quot;:tab_values&quot;</span>, (<span class="keywordtype">char</span>*) tab_values, SIZE_VALUE, SIZE_ARRAY);</div>
<div class="line"></div>
<div class="line">   <span class="comment">/* execute */</span></div>
<div class="line"></div>
<div class="line">   <a class="code" href="group___ocilib_c_api_statements.html#ga7189aa353845909aaedc8d5956429450">OCI_Execute</a>(st);</div>
<div class="line">  </div>
<div class="line">   <span class="comment">/* cleanup */</span></div>
<div class="line">   <a class="code" href="group___ocilib_c_api_initialization.html#ga639706aa8e9689c7ebffc018fac6d3ae">OCI_Cleanup</a>();</div>
<div class="line"></div>
<div class="line">   <span class="keywordflow">return</span> EXIT_SUCCESS;</div>
<div class="line">}</div>
</div><!-- fragment --></dd></dl>
<dl class="section user"><dt>Retrieve the output generated by the dbms_output package on the server</dt><dd><div class="fragment"><div class="line"><span class="preprocessor">#include &quot;ocilib.h&quot;</span></div>
<div class="line"></div>
<div class="line"><span class="keywordtype">int</span> main(<span class="keywordtype">void</span>)</div>
<div class="line">{</div>
<div class="line">    <a class="code" href="group___ocilib_c_api_datatypes.html#ga2135d3b5341ebbaae1f54d62873ecf77">OCI_Connection</a> *cn;</div>
<div class="line">    <a class="code" href="group___ocilib_c_api_datatypes.html#ga4b016f1bd7de508b1a919e34b12aa83d">OCI_Statement</a>  *st;</div>
<div class="line">    <span class="keyword">const</span> <span class="keywordtype">char</span> *p;</div>
<div class="line"></div>
<div class="line">    <span class="keywordflow">if</span> (!<a class="code" href="group___ocilib_c_api_initialization.html#ga01464863ddd68393106b63fb8cc1ead1">OCI_Initialize</a>(NULL, NULL, OCI_ENV_DEFAULT))</div>
<div class="line">        <span class="keywordflow">return</span> EXIT_FAILURE;</div>
<div class="line"></div>
<div class="line">    cn = <a class="code" href="group___ocilib_c_api_connections.html#ga5cd867ad94bdc4a3bbfdef24452262e0">OCI_ConnectionCreate</a>(<span class="stringliteral">&quot;db&quot;</span>, <span class="stringliteral">&quot;usr&quot;</span>, <span class="stringliteral">&quot;pwd&quot;</span>, OCI_SESSION_DEFAULT);</div>
<div class="line">    st = <a class="code" href="group___ocilib_c_api_statements.html#ga335822f983af0fb5c529431f06a9a17b">OCI_StatementCreate</a>(cn);</div>
<div class="line"></div>
<div class="line">    <span class="comment">/* pl/sql call */</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">/* server output */</span></div>
<div class="line"></div>
<div class="line">    <a class="code" href="group___ocilib_c_api_pl_sql.html#gaeff8f38ba15b9e757cec70d91e4ffe13">OCI_ServerEnableOutput</a>(cn, 32000, 5, 255);</div>
<div class="line"></div>
<div class="line">    <a class="code" href="group___ocilib_c_api_statements.html#ga8b2b66994f847d9f0b6b0efe4a13ccf3">OCI_ExecuteStmt</a>(st, <span class="stringliteral">&quot;begin &quot;</span></div>
<div class="line">                        <span class="stringliteral">&quot;   dbms_output.put_line(&#39;First  line&#39;); &quot;</span></div>
<div class="line">                        <span class="stringliteral">&quot;   dbms_output.put_line(&#39;Second line&#39;); &quot;</span></div>
<div class="line">                        <span class="stringliteral">&quot;   dbms_output.put_line(&#39;Third  line&#39;); &quot;</span></div>
<div class="line">                        <span class="stringliteral">&quot;end;&quot;</span></div>
<div class="line">                   );</div>
<div class="line"> </div>
<div class="line">    <span class="keywordflow">while</span> (p = <a class="code" href="group___ocilib_c_api_pl_sql.html#gaac2621ca13cc7a4e862ae8d93493f684">OCI_ServerGetOutput</a>(cn)) </div>
<div class="line">    {</div>
<div class="line">        printf(p);</div>
<div class="line">        printf(<span class="stringliteral">&quot;\n&quot;</span>);</div>
<div class="line">    }</div>
<div class="line"> </div>
<div class="line">    <a class="code" href="group___ocilib_c_api_initialization.html#ga639706aa8e9689c7ebffc018fac6d3ae">OCI_Cleanup</a>();</div>
<div class="line"></div>
<div class="line">    <span class="keywordflow">return</span> EXIT_SUCCESS;</div>
<div class="line">}</div>
</div><!-- fragment --> </dd></dl>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gaeff8f38ba15b9e757cec70d91e4ffe13"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT boolean OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_pl_sql.html#gaeff8f38ba15b9e757cec70d91e4ffe13">OCI_ServerEnableOutput</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga2135d3b5341ebbaae1f54d62873ecf77">OCI_Connection</a> *con, unsigned int bufsize, unsigned int arrsize, unsigned int lnsize)</td></tr>
<tr class="memdesc:gaeff8f38ba15b9e757cec70d91e4ffe13"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable the server output.  <a href="#gaeff8f38ba15b9e757cec70d91e4ffe13">More...</a><br /></td></tr>
<tr class="separator:gaeff8f38ba15b9e757cec70d91e4ffe13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0d3321a0abff0722baf6b2b7233f4cb5"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT boolean OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_pl_sql.html#ga0d3321a0abff0722baf6b2b7233f4cb5">OCI_ServerDisableOutput</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga2135d3b5341ebbaae1f54d62873ecf77">OCI_Connection</a> *con)</td></tr>
<tr class="memdesc:ga0d3321a0abff0722baf6b2b7233f4cb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disable the server output.  <a href="#ga0d3321a0abff0722baf6b2b7233f4cb5">More...</a><br /></td></tr>
<tr class="separator:ga0d3321a0abff0722baf6b2b7233f4cb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaac2621ca13cc7a4e862ae8d93493f684"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT const otext *OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_pl_sql.html#gaac2621ca13cc7a4e862ae8d93493f684">OCI_ServerGetOutput</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga2135d3b5341ebbaae1f54d62873ecf77">OCI_Connection</a> *con)</td></tr>
<tr class="memdesc:gaac2621ca13cc7a4e862ae8d93493f684"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve one line of the server buffer.  <a href="#gaac2621ca13cc7a4e862ae8d93493f684">More...</a><br /></td></tr>
<tr class="separator:gaac2621ca13cc7a4e862ae8d93493f684"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gaeff8f38ba15b9e757cec70d91e4ffe13"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT boolean OCI_API OCI_ServerEnableOutput </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga2135d3b5341ebbaae1f54d62873ecf77">OCI_Connection</a> *&#160;</td>
          <td class="paramname"><em>con</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>bufsize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>arrsize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>lnsize</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Enable the server output. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">con</td><td>- Connection handle </td></tr>
    <tr><td class="paramname">bufsize</td><td>- server buffer max size (server side) </td></tr>
    <tr><td class="paramname">arrsize</td><td>- number of lines to retrieve per server round-trip </td></tr>
    <tr><td class="paramname">lnsize</td><td>- maximum size of one line</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>This call is equivalent to the command 'set serveroutput on' in SQL*PLUS</dd>
<dd>
'bufsize' minimum value is 2000, maximum 1000000 with Oracle &lt; 10.2g and can be unlimited above</dd>
<dd>
'lnsize' maximum value is 255 with Oracle &lt; 10g R2 and 32767 above</dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>If <a class="el" href="group___ocilib_c_api_pl_sql.html#gaeff8f38ba15b9e757cec70d91e4ffe13" title="Enable the server output. ">OCI_ServerEnableOutput()</a> is not called, <a class="el" href="group___ocilib_c_api_pl_sql.html#gaac2621ca13cc7a4e862ae8d93493f684" title="Retrieve one line of the server buffer. ">OCI_ServerGetOutput()</a> will return NULL</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE on success otherwise FALSE </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_connection.html#a43eb6879fc41ddc0dc790ed0793e2c47">ocilib::Connection::EnableServerOutput()</a>.</p>

</div>
</div>
<a class="anchor" id="ga0d3321a0abff0722baf6b2b7233f4cb5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT boolean OCI_API OCI_ServerDisableOutput </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga2135d3b5341ebbaae1f54d62873ecf77">OCI_Connection</a> *&#160;</td>
          <td class="paramname"><em>con</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Disable the server output. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">con</td><td>- Connection handle</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>After this call, <a class="el" href="group___ocilib_c_api_pl_sql.html#gaac2621ca13cc7a4e862ae8d93493f684" title="Retrieve one line of the server buffer. ">OCI_ServerGetOutput()</a> will return NULL.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE on success otherwise FALSE </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_connection.html#a5dbac14acd330f73defd8bc9c8ea6a63">ocilib::Connection::DisableServerOutput()</a>.</p>

</div>
</div>
<a class="anchor" id="gaac2621ca13cc7a4e862ae8d93493f684"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT const otext* OCI_API OCI_ServerGetOutput </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga2135d3b5341ebbaae1f54d62873ecf77">OCI_Connection</a> *&#160;</td>
          <td class="paramname"><em>con</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Retrieve one line of the server buffer. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">con</td><td>- Connection handle</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Internally, OCILIB gets the server buffer through an array of lines in order to minimize round-trips with the server</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>return a server output buffer line or NULL if the server buffer is empty </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_connection.html#aa20212250b93efe1064cbc183e1e4c27">ocilib::Connection::GetServerOutput()</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated on Mon Mar 21 2016 22:26:37 for OCILIB (C and C++ Driver for Oracle) by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.9.1 </li>
  </ul>
</div>
</body>
</html>
